/**
 * 栈是一种特殊的列表,
 * 栈内的元素只能通过列表顶端访问，这个顶端叫做栈顶,
 * 栈是一种先入后出(也可以叫后入先出)的结构
 */
class Stack {
    constructor() {
        this.dataStore = [];
    }

    /**
     * 添加元素(入栈)
     * @param ele
     */
    push(ele) {
        this.dataStore.push(ele);
    }

    /**
     * 删除栈顶元素(出栈)
     * @param ele
     */
    pop(ele) {
        let val = this.peek();
        this.dataStore.length > 0 && --this.dataStore.length;
        return val;
    }

    /**
     * 获取栈顶元素
     */
    peek() {
        return this.dataStore[this.dataStore.length - 1];
    }

    /**
     * 获取元素个数
     * @returns {number}
     */
    length() {
        return this.dataStore.length;
    }

    /**
     * 清空栈
     */
    clear() {
        this.dataStore.length = 0;
    }
}

let statck = new Stack();

statck.push("金海宾");
statck.push("金立红");
statck.push("金梓轩");

let val;

// 循环后入先出
while ((val = statck.pop())) {
    console.log(val);
}
console.log(statck.length());

function isPlainWorld(word) {
    let stack = new Stack();


}